#ifndef SYSROOT_IFADDRS_H_
#define SYSROOT_IFADDRS_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <features.h>
#include <netinet/in.h>
#include <sys/socket.h>

struct ifaddrs {
  struct ifaddrs* ifa_next;
  char* ifa_name;
  unsigned ifa_flags;
  struct sockaddr* ifa_addr;
  struct sockaddr* ifa_netmask;
  union {
    struct sockaddr* ifu_broadaddr;
    struct sockaddr* ifu_dstaddr;
  } ifa_ifu;
  void* ifa_data;
};
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
#define ifa_dstaddr ifa_ifu.ifu_dstaddr

void freeifaddrs(struct ifaddrs* ifp);
int getifaddrs(struct ifaddrs** ifap);

#ifdef __cplusplus
}
#endif

#endif  // SYSROOT_IFADDRS_H_
